package com.brightworks.scripthelper.analyzers
{
    import com.brightworks.util.Log;

    public class LineTypeAnalyzer
    {
        public var bIsChunkLine:Boolean = false;
        public var lineNumber:int;
        public var lineText:String;
        public var lineTypeId:String;
        public var roleName:String;

        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        //
        //          Getters & Setters
        //
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        //
        //          Public Methods
        //
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

        public function LineTypeAnalyzer() {}

        public function getProblemReports():Array
        {
            Log.fatal("LineTypeAnalyzer.getProblemReports(): Abstract method - should never be called");
            return [];
        }

        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        //
        //          Protected Methods
        //
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        protected function constructFullProblemStrings(problemList:Array):Array
        {
            var result:Array = [];
            var resultString:String;
            for each (var problemString:String in problemList)
            {
                resultString = "Line #: " + lineNumber + "\n\nLine Text: " + lineText + "\n\nProblem: " + problemString;
                result.push(resultString);
            }
            return result;
        }

    }
}

